objects:= main.c hello.o

# Makefile内容通常由以下部分组成
# <目标>: <前置依赖>
#     <需要执行的命令>

# 放在第一个的是默认目标
# main目标依赖main.c和hello.o文件
# 编译的命令: gcc hello.o main.c -o main
main: $(objects)
	gcc -o main $(objects)
	./main

# hello.o目标依赖hello.c hello.h
# 编译命令：gcc -c hello.c
hello.o: hello.c hello.h
	gcc -c hello.c -o hello.o

# clean目标不依赖任何文件
# 作用：清理编译的临时文件
clean:
	-rm main
	-rm main.o
	-rm hello.o
